//
// Created by antler on 2018/12/6.
//

#ifndef LUA_COLOR3F_H
#define LUA_COLOR3F_H

#include <string>

class Color3B;

#define USERTYPE_COLOR3F "Color3F"
#define CLASSNAME_COLOR3F "Color3F"

class Color3F {
public:
    static Color3F *create();

    static Color3F *createWith(int rgb);

    static Color3F *createWith(float r, float g, float b);

    static Color3F *createWith(const std::string &rgb);

    static Color3F *createWith(const Color3B &c3b);

    static Color3F *createWith(const Color3F &c3f);

    Color3F();

    Color3F(int rgb);

    Color3F(float r, float g, float b);

    Color3F(const Color3B &c3b);

    int toInt() const;

    std::string toString() const;

public:
    float r, g, b;
};

#endif //LUA_COLOR3F_H
